docs: README perf table + math bullet for the float engine#13
Merged
Conversation
- Performance table: split the single `math::sin` row into a double-engine and a float-engine (`math::flt::sin`, f32 operand) row, each vs its native baseline (`std::sin` / `std::sinf`), measured in one fresh bench run so they are mutually comparable. Note explains the float engine tracks the double engine on a double-capable host (~1.15× here) and its real win is single-precision-only FPUs paired with f32 storage (all-hardware-float, no soft-double at the I/O boundary). Absolute ns is machine-dependent (flagged). - Features bullet: "two engines" → three engines callable by namespace (dbl/flt/cordic), the build-default macros, BND_MATH_NO_FP, and snap-not-real. - bench.cpp: add the `math::flt::sin` / `std::sinf` blocks (guarded !BND_MATH_FIXED) + an f32-backed angle vector, so the number is measured by the committed harness. Builds clean under default / float / CORDIC. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update the README for the float engine
math::sinrow becomes a double-engine and a float-engine (math::flt::sin,f32operand) row, each against its native baseline (std::sin/std::sinf), measured in one fresh bench run so they're mutually comparable. The note explains the float engine tracks the double engine on a double-capable host (~1.15× here) and comparable tostd::sinf; its real win is single-precision-only FPUs paired withf32storage (all-hardware-float, no soft-doubleat the boundary). Absolute ns is flagged as machine-dependent.dbl/flt/cordic), the build-default macros,BND_MATH_NO_FP, and snap-not-real.math::flt::sin/std::sinfblocks (guarded!BND_MATH_FIXED) + an f32-backed angle vector, so the figure comes from the committed harness. Builds clean under default / float / CORDIC.Docs/bench only — no library change, no single-header regen needed.
🤖 Generated with Claude Code